package chd.edu.spzx.product.service;

import chd.edu.spzx.model.dto.h5.ProductSkuDto;
import chd.edu.spzx.model.dto.product.SkuSaleDto;
import chd.edu.spzx.model.entity.product.ProductSku;
import chd.edu.spzx.model.vo.h5.ProductItemVo;
import com.github.pagehelper.PageInfo;

import java.util.List;

/**
 * @author Zhang Chaoliang
 * create 2023
 */
public interface ProductService {

    /**
     * 根据销量排序，获取前10条记录
     * @return
     */
    List<ProductSku> selectProductSkuBySale();

    /**
     * 分页查询
     * @param page
     * @param limit
     * @param productSkuDto
     * @return
     */
    PageInfo<ProductSku> findByPage(Integer page, Integer limit, ProductSkuDto productSkuDto);

    /**
     * 商品详情
     * @param skuId
     * @return
     */
    ProductItemVo item(Long skuId);

    /**
     * 远程调用：根据skuId获取商品sku信息
     * @param skuId
     * @return
     */
    ProductSku getBySkuId(Long skuId);

    /**
     * 更新商品sku销量
     * @param skuSaleDtoList
     * @return
     */
    Boolean updateSkuSaleNum(List<SkuSaleDto> skuSaleDtoList);
}
